1. Field of the Invention
The present invention is directed to converting surfaces and objects represented by subdivision surfaces into a NURBS (Non-Uniform Rational B-Spline) representation. More particularly, the present invention provides a method, apparatus, and computer readable storage for implementing conversion algorithms, which convert data representing a subdivision surface into a NURBS representation. The NURBS representation can be displayed or stored in a standard data file readable by NURBS modeling applications.
2. Description of the Related Art
Subdivision surfaces are a known modeling tool used in computer graphics. A subdivision surface starts with a polygonal base mesh and continuously divides the base mesh according to subdivision rules until a tangent-plane continuous “smooth” surface results. Subdivision surfaces are increasing in popularity as a modeling tool, in part because these surfaces combine the benefits of both polygonal and NURBS modeling. Subdivision surfaces allow users to model smooth surfaces by manipulating a small set of control vertices.
NURBS representations are also a known modeling tool used in computer graphics. A NURBS surface is a representation of a polynomial surface that may be defined by a network of control points, optionally with their associated parameter spacings, known as knots. The surface may be constructed by blending the control points according to polynomial equations of UV parameters sampled in a rectangular or other regular region. In other words, a NURBS surface is comprised of a series of specially defined curves connected together to form a surface. The NURBS representation is advantageous in that precise circular arcs and other curves can be defined with infinite resolution.
A subset of NURBS surfaces are the uniform, non-rational B-splines of bi-cubic degree. A bi-cubic non-rational B-spline surface with uniform knot spacing may be converted into a subdivision surface (for example a Catmull-Clark subdivision surface) simply by mapping the B-spline control vertices into control vertices for the subdivision surfaces, and constructing connectivity information about which vertices and faces adjoin which others.
However, the prior art afforded no way to efficiently convert a subdivision surface to a NURBS surface.